home *** CD-ROM | disk | FTP | other *** search
/ USA Bestseller / USA BESTSELLER Vol 1-95 (Hepp-Computer)(1995).iso / e032 / cimage.hlp < prev    next >
Text File  |  1993-07-28  |  56KB  |  1,958 lines

  1. ;This file contains all the help information for CImage.  Semicolons are remarks
  2. ;and colons denote the topics.  The Help commands read a topic until EOF or
  3. ;until they reach the next topic.  Feel free to add your own notes, and 
  4. ;fixes as you deem necessary.
  5. ;
  6. ;If you add a topic, make sure that you ADD the topic to the TOPICS topic.
  7. ;
  8.  
  9. :GENERAL
  10.  
  11. ███████████████████████████████████████████████████████████████████████████████
  12. █                                                                             █
  13. █                  CImage --- Image Processor by Paul Nettle                  █
  14. █             Copyright 1993 Paul D. Nettle.  All Rights Reserved.            █
  15. █                                                                             █
  16. ███████████████████████████████████████████████████████████████████████████████
  17.  
  18. GENERAL HELP:
  19.  
  20.         For detailed help on a specific command, just type HELP <topic>.  Most
  21.         information you will ever need is available on-line in Cimage via the
  22.         HELP command.
  23.  
  24.         For a list of available topics, just type HELP TOPICS.
  25.  
  26.         The help filename is "CIMAGE.HLP" and must be located in current dir-
  27.         ectory.  If it's not found there, then CImage will search for it in the
  28.         directory where CImage was run from.  This allows different help files
  29.         for different projects and tasks.
  30.  
  31.         The help file is just plain text, and therefore allows you to add
  32.         topics to it, or modify it as you see fit.  Please be sure to contact
  33.         the author if you find any errors in the CIMAGE.HLP file.  The help
  34.         file is modified with any DOS text editor (such as DOS's "EDIT.EXE").
  35.  
  36.         Commands may be separated on the same command line with a ';'.  For
  37.         example, "load image.gif 0;show 0" will load the image, then show
  38.         it.
  39.  
  40.         When you type commands, CImage executes them in the following order:
  41.            Resolves any CImage environment variables (using %var% convension)
  42.            Resolves any macros
  43.            Tries to execute as an internal CImage command (HELP, LOAD, etc...)
  44.            Looks for it as a CImage batch file (EXAMPLE.IPB)
  45.            Passes the entire command line to DOS (with the CImage environment
  46.                 variables and macros already resolved)
  47.  
  48.         Currently, CImage does not support wild cards at all.  This does not
  49.            limit you from using them for DOS commands from within CImage.  If
  50.            you type "DIR *.EXE" from the CImage command prompt, that command is
  51.            still sent to DOS as-is.
  52.  
  53.         You know CImage is running by it's prompt modifier, an underscore.
  54.         This can be changed by executing the PMOD command.  See the PMOD
  55.         command for more information on the prompt modifier.
  56.  
  57. ;------------------------------------------------------------------------------
  58.  
  59. :TOPICS
  60.    System level commands:
  61.  
  62.       [EXIT/Q/QUIT] [`] [?/HELP] [REM] [ASK] [PAUSE] [ECHO] [PERCENT]
  63.  
  64.    Batch file processing:
  65.  
  66.       [IF] [IFNOT]
  67.  
  68.    Graphic File Manipulation tools:
  69.  
  70.       [LOAD] [SAVE] [MERGE] [TERRain]
  71.  
  72.    Buffer Manipulation Tools:
  73.  
  74.       [LB] [FREE] [SHOW] [MEM]
  75.  
  76.    Local Environment Variables and Macros:
  77.  
  78.       [VMODE] [VCOLORS] [CRES] [SET] [MACRO] [GAMV] [BIOSinfo] [VESAinfo]
  79.  
  80.    Image Enhancement tools:
  81.  
  82.       [NEGate] [ADD] [SUBtract] [MULTiply] [DIVide] [BRIghten] [DARKen] [NOISe]
  83.       [GREYscale] [NORMalize] [GAMMa] [CONV] [LC] [PIX] [OVERlay] [BIN]
  84.  
  85.    Image Manipulation tools:
  86.  
  87.       [FLIP] [CPY]
  88.  
  89.    Image Generators:
  90.  
  91.       [FADE] [PLASMA] [FILL]
  92.  
  93.    ----------------------------------------------------------------------------
  94.  
  95.    OTHER TOPICS:
  96.       [TOPICS] [GENERAL]
  97.  
  98. SEE ALSO:
  99.         None.
  100.  
  101. ;------------------------------------------------------------------------------
  102.  
  103. :`
  104.  
  105. PURPOSE:
  106.      Send a  command directly  to DOS  bypassing the  CImage
  107.      command processor shell.
  108.  
  109. SYNTAX:
  110.      `<command>
  111.    -or-
  112.      ` <command>
  113.  
  114. DESCRIPTION:
  115.      This is useful for commands like MEM.  Since DOS has  a
  116.      MEM command as well as CImage, you  can only run DOS's
  117.      MEM by using the `left single quote'.
  118.  
  119. NOTES:
  120.      Another way to perform a similar function is to  create
  121.      a DOS batch file that runs MEM called M.BAT.  This  is,
  122.      of course, not very practical.
  123.  
  124. SHORTCUT:
  125.      None.
  126.  
  127. SEE ALSO:
  128.      None.
  129.  
  130. ;------------------------------------------------------------------------------
  131.  
  132. ::
  133.  
  134. PURPOSE:
  135.      The `colon' is used in batch files only for designating
  136.      a label.
  137.  
  138. SYNTAX:
  139.      :<label>
  140.  
  141. DESCRIPTION:
  142.      Labels in Batch files allow the batch file control over
  143.      it's flow.
  144.  
  145.      Labels are used in conjunction with the GOTO command to
  146.      alter batch program flow.
  147.  
  148. NOTES:
  149.      None.
  150.  
  151. SHORTCUT:
  152.      None.
  153.  
  154. SEE ALSO:
  155.      ASK IF GOTO REM PAUSE ECHO
  156.  
  157. ;------------------------------------------------------------------------------
  158.  
  159. :ADD
  160.  
  161. PURPOSE:
  162.      Add the contents of two image buffers.
  163.  
  164. SYNTAX:
  165.      ADD <buf1> <buf2> [outbuf]
  166.  
  167. DESCRIPTION:
  168.      ADD will add, pixel by pixel each of the red, blue  and
  169.      green components  of <buf1>  and <buf2>  and place  the
  170.      result into [outbuf].
  171.  
  172. NOTES:
  173.      If [outbuf]  is not  given,  then <buf1>  contains  the
  174.      result.
  175.  
  176.      Upon adding the components, if the two components added
  177.      are greater  than  255,  then the  component  value  is
  178.      clipped to 255.
  179.  
  180. SHORTCUT:
  181.      None.
  182.  
  183. SEE ALSO:
  184.      SUBTRACT MULTIPLY DIVIDE
  185.  
  186. ;------------------------------------------------------------------------------
  187.  
  188. :ASK
  189.  
  190. PURPOSE:
  191.      ASK allows  users to  input single  keystrokes for  use
  192.      within CImage batch files.
  193.  
  194. SYNTAX:
  195.      ASK <keylist> <string>
  196.  
  197. DESCRIPTION:
  198.      The <keylist> contains all available keys to the  user.
  199.      For example, a Yes/No question  will have a keylist  of
  200.      `yn'.
  201.  
  202.      The <string> contains the prompt.  This is displayed to
  203.      the user while ASK waits for a Key.
  204.  
  205.      When ASK completes, ERRORLEVEL will be set according to
  206.      the key that was pressed.  The ERRORLEVEL starts at  1,
  207.      for the  first entry  in  the <keylist>  and  continues
  208.      until the keylist is complete.   In the above  example,
  209.      if the user pressed `y' then the ERRORLEVEL would be 1.
  210.      If the user would have pressed `n' then the  ERRORLEVEL
  211.      would have been 2.
  212.  
  213. NOTES:
  214.      If a  key  not  in  the  <keylist>  was  pressed,  then
  215.      ERRORLEVEL is 0.
  216.  
  217. SHORTCUT:
  218.      None.
  219.  
  220. SEE ALSO:
  221.      IF
  222.  
  223. ;------------------------------------------------------------------------------
  224.  
  225. :BIN
  226.  
  227. PURPOSE:
  228.      Binarize a picture with a given threshold.
  229.  
  230.  
  231. SYNTAX:
  232.      BIN <inbuf> <threshold> [outbuf]
  233.  
  234. DESCRIPTION:
  235.      BIN will  compare  each  of the  red,  blue  and  green
  236.      components of  <inbuf>  against <threshold>.    If  the
  237.      component value  is  less  than  <threshold>  then  the
  238.      component value is set to zero.  If the component value
  239.      is greater  than  or  equal to  <threshold>,  then  the
  240.      component value is set to 255.
  241.  
  242.      Valid range for <threshold> is 0-255.
  243.  
  244. NOTES:
  245.      If [outbuf]  is not  given, then  <inbuf> contains  the
  246.      result.
  247.  
  248. SHORTCUT:
  249.      None.
  250.  
  251. SEE ALSO:
  252.      BRIGHTEN DARKEN NORMALIZE GREYSCALE
  253.  
  254. ;------------------------------------------------------------------------------
  255.  
  256. :BIOSINFO
  257.  
  258. PURPOSE:
  259.      BIOSINFO  will  set  the  BIOS  graphics  settings  for
  260.      CImage.
  261.  
  262. SYNTAX:
  263.      BIOSINFO <mode> [xres] [yres]
  264.  
  265. DESCRIPTION:
  266.      BIOSINFO will set the current BIOS configuration to  be
  267.      used  for  displaying  image  buffers  using  the  SHOW
  268.      command.
  269.  
  270.      By setting  the BIOS  settings  in CImage,  CImage  can
  271.      access virtually any video card that has BIOS  support.
  272.      Consult your video card's user's manual for information
  273.      on the BIOS mode and associated resolutions.
  274.  
  275.      [xres] and [yres] may be omitted for quickly  switching
  276.      between two  different modes  of the  same  resolution.
  277.      Default BIOS resolution is 640x480.  The default number
  278.      of colors is 256 (see note below).
  279.  
  280.      The BIOS is incapable of plotting pixels with more than
  281.      256 colors, so if the video mode that you are trying to
  282.      access has more than 256 colors, you MUST use the  VESA
  283.      capabilities.  Consult your video card's user's  manual
  284.      for more  information  on  VESA  capabilities  that  it
  285.      supports.
  286.  
  287.      Users must also  perform a "VMODE  BIOS" to enable  the
  288.      BIOS mode for displaying image buffers.  See the  VMODE
  289.      command for more information on setting the mode.
  290.  
  291.      TSRs are  available  to  allow  ALL  video  cards  VESA
  292.      support in software. See the VESAINFO command for  more
  293.      information on VESA support in CImage.
  294.  
  295. NOTES:
  296.      <mode> must be in HEX.
  297.  
  298.      VESA is the preferred graphics configuration to run.
  299.  
  300.      CImage does  not  support  modes  with  less  than  256
  301.      colors.
  302.  
  303. SHORTCUT:
  304.      BIOS
  305.  
  306. SEE ALSO:
  307.      VESAINFO VMODE VCOLORS CRES
  308.  
  309. ;------------------------------------------------------------------------------
  310.  
  311. :BRIGHTEN
  312.  
  313. PURPOSE:
  314.      Brightens an image buffer.
  315.  
  316. SYNTAX:
  317.      BRIGHTEN <amount> <inbuf> [outbuf]
  318.  
  319. DESCRIPTION:
  320.      BRIGHTEN will  increase the  brightness of  <inbuf>  by
  321.      <amount>.  <amount> is a component value, so the  range
  322.      is 1-255.
  323.  
  324. NOTES:
  325.      If [outbuf]  is not  given, then  <inbuf> contains  the
  326.      result.
  327.  
  328. SHORTCUT:
  329.      BRI
  330.  
  331. SEE ALSO:
  332.      DARKEN
  333.  
  334. ;------------------------------------------------------------------------------
  335.  
  336. :CONV
  337.  
  338. PURPOSE:
  339.      Performs a 3x3, 5x5, or 7x7 convolution filter.
  340.  
  341. SYNTAX:
  342.      CONV <filter> <inbuf> [outbuf]
  343.  
  344. DESCRIPTION:
  345.      Performs a Convolution filter  (defined as <filter>  in
  346.      the filter  file (defined  by the  FILTERFILE  command;
  347.      default filename is FILTERS.FLT). file) on <inbuf>  and
  348.      places the result into [outbuf].
  349.  
  350.      CONV  perform  "convolution"   filters.     Convolution
  351.      filters  are  a  common  way  of  changing  an  image's
  352.      appearance.  Some common  filters will blur or  sharpen
  353.      an image, others may highlight edges, or remove all  of
  354.      the image completely leaving only the edges.
  355.  
  356.      The filters are contained in the filter file.
  357.  
  358.      The Available filters can be obtained with the  command
  359.      LC (for  List  Convolutions).   See  HELP LC  for  more
  360.      information on the LC command.
  361.  
  362.      The filter description  format for a  3x3 filter is  as
  363.      follows:
  364.           FILTER <filtername> <size>
  365.           <upper-left>  <upper-center>  <upper-right>
  366.           <center-left> <center-center> <center-right>
  367.           <lower-left>  <lower-center>  <lower-right>
  368.           <operator> <operand> <bias>
  369.  
  370.           Any text following semicolons are comments
  371.  
  372.      Where <filtername> is the name of the filter.  This  is
  373.      where CONV looks for the command line option  <filter>.
  374.      <size> is  the size  of the  filter (3,  5 or  7  only,
  375.      others are  ignored).   For 5x5  and 7x7  filters,  the
  376.      above example is incomplete, since from <upper-left> to
  377.      <lower-right> would be a 5x5 or 7x7 "grid".
  378.  
  379.      Convolutions are quite  simple.  For  each pixel in  an
  380.      image, the filter grid is overlaid onto that pixel  and
  381.      it's neighbors with the <center-center> element of  the
  382.      filter grid  aligned  onto  the current  pixel  in  the
  383.      image, and  the  outer  elements  in  the  filter  grid
  384.      overlaying the  current pixel's  neighbors.   The  next
  385.      step is to  multiply each  element in  the filter  grid
  386.      with it's corresponding  overlaid pixel value.     Once
  387.      all  these  values  have  been  calculated,  add   them
  388.      together  and  perform  the  operation  (/  8  for   an
  389.      <operator> of '/'  and an <operand>  of '8'.)   Lastly,
  390.      add the <bias> value.   If the  addition of <bias>  (or
  391.      subtraction of  <bias> if  it  is negative)  takes  the
  392.      result above 255 or below 0, then the value is  clipped
  393.      to 0 or 255, respectively.
  394.  
  395.      A good trick for trying your  own is to take a  current
  396.      filter, copy it, change the new copy's name, and modify
  397.      it.   If you  have  problems getting  usable  resulting
  398.      images, try adding  all of the  values in the  filter's
  399.      grid and  placing  that  value  in  <operand>  with  an
  400.      <operator> of '/'
  401.  
  402. NOTES:
  403.      The valid range for <bias> is 0-255.
  404.  
  405.      Valid <operator> values are:
  406.           +.......Add <operand>
  407.           -.......Subtract <operand>
  408.           *.......Multiply by  <operand>  /.......Divide  by
  409.                   <operand>
  410.           M.......Sort all multiplied grid elements, and use
  411.                   the median.  Ignore <operand>  -- Operand
  412.                   MUST still be present
  413.           <.......Sort all multiplied grid elements, and use
  414.                   the lowest.  Ignore <operand>  -- Operand
  415.                   MUST still be present
  416.           >.......Sort all multiplied grid elements, and use
  417.                   the highest. Ignore  <operand> -- Operand
  418.                   MUST still be present
  419.  
  420.      If [outbuf] is  not given,  then CONV  will create  the
  421.      first available buffer.
  422.  
  423.      CImage will search for the filter file in the following
  424.      order:
  425.           1. The current directory
  426.           2. The default CImage directory (where  CIMAGE.EXE
  427.           is stored)
  428.  
  429.      CAUTION:   The median  ('M'),  dilate ('>')  and  erode
  430.      ('<') functions take a LONG TIME in 5x5 or 7x7 filters.
  431.      Try  to  stick  with   using  3x3  filters  for   these
  432.      operators.
  433.  
  434. SHORTCUT:
  435.      None.
  436.  
  437. SEE ALSO:
  438.      LC FILTERFILE
  439.  
  440. ;------------------------------------------------------------------------------
  441.  
  442. :CPY
  443.  
  444. PURPOSE:
  445.      Copy an image buffer to another.
  446.  
  447. SYNTAX:
  448.      CPY <inbuf> [outbuf]
  449.  
  450. DESCRIPTION:
  451.      CPY will copy <inbuf> into [outbuf], creating  [outbuf]
  452.      in the process. [outbuf] must not exist.
  453.  
  454. NOTES:
  455.      If [outbuf]  is not  given, then  CPY will  create  the
  456.      first available buffer.
  457.  
  458.      CPY  was   not   named  "COPY"   because   of   obvious
  459.      interference with the DOS COPY command.
  460.  
  461. SHORTCUT:
  462.      None.
  463.  
  464. SEE ALSO:
  465.      None.
  466.  
  467. ;------------------------------------------------------------------------------
  468.  
  469. :CRES
  470.  
  471. PURPOSE:
  472.      Sets  the  color  bit  resolution  for  256  color  VGA
  473.      graphics.
  474.  
  475. SYNTAX:
  476.      CRES [value]
  477.  
  478. DESCRIPTION:
  479.      When CImage needs to display a 24-bit image onto a  256
  480.      color display,  CImage needs  to reduce  the number  of
  481.      colors that the image uses.  This is by sorting  colors
  482.      by popularity, choosing the  most popular, and  mapping
  483.      the rest of the colors  to it's closest counterpart  in
  484.      the list of the top 256.
  485.  
  486.      When CImage needs to display an image, it needs to know
  487.      how many shades of red, green, and blue the video  card
  488.      allows.  Most cards allow for 6 bits of resolution  (0-
  489.      63, or 64)  for each element.   To  calculate how  many
  490.      displayable colors,  multiply red  * green  * blue,  or
  491.      64*64*64 =  262,144.   This  is  the number  of  colors
  492.      possible,  however   only   256  colors   are   allowed
  493.      simultaneously.  CRES tells CImage how many shades  the
  494.      video card allows for each  element so that CImage  can
  495.      reduce the number of  shades as well  as the number  of
  496.      colors.
  497.  
  498. NOTES:
  499.      If [value] is  not given,  then CRES  will display  the
  500.      current value.
  501.  
  502.      CImage does  not  support  modes  with  less  than  256
  503.      colors.
  504.  
  505.      When CImage loads  or creates  an image  buffer, it  is
  506.      stored internally as  a 24-bit image.   Even if  CImage
  507.      loads a 256-color  GIF file, it  is still converted  to
  508.      24-bits as it is loaded.  This is because modifications
  509.      to an image  buffer may increase  the number of  colors
  510.      that it uses.  This also  allows for CImage to  perform
  511.      functions on  image buffers  with the  least amount  of
  512.      accuracy loss.
  513.  
  514. SHORTCUT:
  515.      None.
  516.  
  517. SEE ALSO:
  518.      VESAINFO BIOSINFO VMODE VCOLORS CRES SHOW
  519.  
  520. ;------------------------------------------------------------------------------
  521.  
  522. :DARKEN
  523.  
  524. PURPOSE:
  525.      Darkens an image buffer.
  526.  
  527. SYNTAX:
  528.      DARKEN <amount> <inbuf> [outbuf]
  529.  
  530. DESCRIPTION:
  531.      DARKEN will  decrease  the  brightness  of  <inbuf>  by
  532.      <amount>.  <amount> is a component value, so the  range
  533.      is 1-255.
  534.  
  535. NOTES:
  536.      If [outbuf]  is not  given, then  <inbuf> contains  the
  537.      result.
  538.  
  539. SHORTCUT:
  540.      DARK
  541.  
  542. SEE ALSO:
  543.      BRIGHTEN
  544.  
  545. ;------------------------------------------------------------------------------
  546.  
  547. :DIVIDE
  548.  
  549. PURPOSE:
  550.      Divide the contents of two image buffers.
  551.  
  552. SYNTAX:
  553.      DIVIDE <buf1> <buf2> [outbuf]
  554.  
  555. DESCRIPTION:
  556.      DIVIDE will divide,  pixel by  pixel each  of the  red,
  557.      blue and  green components  of  <buf1> and  <buf2>  and
  558.      place the result into [outbuf].
  559.  
  560. NOTES:
  561.      If [outbuf]  is not  given,  then <buf1>  contains  the
  562.      result.
  563.  
  564.      Upon dividing the components, if a component if  <buf2>
  565.      is zero, then the result is automatically zero, since a
  566.      divide by zero is impossible.
  567.  
  568. SHORTCUT:
  569.      DIV
  570.  
  571. SEE ALSO:
  572.      ADD SUBTRACT MULTIPLY DIVIDE
  573.  
  574. ;------------------------------------------------------------------------------
  575.  
  576. :ECHO
  577.  
  578. PURPOSE:
  579.      ECHO is used to display text during the execution of an
  580.      CImage batch file.
  581.  
  582. SYNTAX:
  583.      ECHO ON
  584.    -or-
  585.      ECHO OFF
  586.    -or-
  587.      ECHO <string>
  588.  
  589. DESCRIPTION:
  590.      Normally as a batch file  is running, the commands  are
  591.      "echoed" to the screen as they are executed.  This  can
  592.      be turned off  by adding the  command ECHO  OFF to  the
  593.      batch file.  Once it has  been turned off, the ECHO  ON
  594.      can turn it back on.   The ECHO setting is reset to  ON
  595.      when all batch files have completed processing.
  596.  
  597.      If ECHO is  followed by  <string>, then  the string  is
  598.      ECHOed to the screen.
  599.  
  600. NOTES:
  601.      An "@" character placed in front of a command line in a
  602.      batch file prevents that line from echoing.
  603.  
  604.      An ECHO. will echo a blank line to the screen.
  605.  
  606.      Currently, ECHO will echo all text as upper-case only.
  607.  
  608. SHORTCUT:
  609.      None.
  610.  
  611. SEE ALSO:
  612.      ASK IF GOTO : REM PAUSE
  613.  
  614. ;------------------------------------------------------------------------------
  615.  
  616. :EXIT
  617.  
  618. PURPOSE:
  619.      EXIT will exit from the CImage command processor  shell
  620.      to the previous level if one exists, otherwise, you are
  621.      exited to the DOS command prompt.
  622.  
  623. SYNTAX:
  624.      Exit
  625.  
  626. DESCRIPTION:
  627.      Once running CImage,  you can run  different levels  of
  628.      the CImage command pro cessor.  This is  done by simply
  629.      running CImage from  within itself.   Once running  the
  630.      second level, you  can exit  to the  previous level  by
  631.      typing EXIT.
  632.  
  633. NOTES:
  634.      None.
  635.  
  636. SHORTCUT:
  637.      Q -or- QUIT
  638.  
  639. SEE ALSO:
  640.      None.
  641.  
  642. ;------------------------------------------------------------------------------
  643.  
  644. :FADE
  645.  
  646. PURPOSE:
  647.      Creates a test image that fades from light to dark.
  648.  
  649. SYNTAX:
  650.      FADE <xres> <yres> <red> <green> <blue> [outbuf] [dir]
  651.  
  652. DESCRIPTION:
  653.      FADE will  create a  256-color  image that  fades  from
  654.      light to dark the elements of <red>, <green> and <blue>
  655.      in the direction of [dir],  and place it into  [outbuf]
  656.      at a resolution of <xres> by <yres>.
  657.  
  658.      Each of the <red>, <green> and <blue> component  values
  659.      are entered as a '0' or a non-zero value.  Any '1' must
  660.      be placed in this value to cause FADE to add that color
  661.      to the fade.   A fade of 1  0 0 will  create a fade  of
  662.      only shades of red.
  663.  
  664.      Use [dir] to denote which direction to create the  fade
  665.      image.  Valid  values are  U, D,  L, R,  for Up,  Down,
  666.      Left, Right  respectively.   [dir] points  to the  dark
  667.      side of the image  (Up would start at  the top as  dark
  668.      and work down to light).
  669.  
  670. NOTES:
  671.      If [outbuf] is  not given,  then FADE  will create  the
  672.      first available buffer.
  673.  
  674.      If [dir] is not given, then  FADE will use 'D'  (down).
  675.      FADE was originally a test image for the developer, but
  676.      was left in for  users.  One use  might be to create  a
  677.      fade, and subtract that from another image for a simple
  678.      effect.
  679.  
  680.      The "Loaded as file name" is set to FADE.TGA
  681.  
  682. SHORTCUT:
  683.      None.
  684.  
  685. SEE ALSO:
  686.      None.
  687.  
  688. ;------------------------------------------------------------------------------
  689.  
  690. :FILL
  691.  
  692. PURPOSE:
  693.      Fills a buffer of a given color.
  694.  
  695. SYNTAX:
  696.      FILL <xres> <yres> <red> <green> <blue> [outbuf]
  697.  
  698. DESCRIPTION:
  699.      FILL will  create  an  image of  resolution  <xres>  by
  700.      <yres>  filled  with  the  color  specified  by  <red>,
  701.      <green> and <blue> and place it into [outbuf].
  702.  
  703. NOTES:
  704.      If [outbuf] is  not given,  then FILL  will create  the
  705.      first available buffer.
  706.  
  707.      The "Loaded as file name" is set to FILLED.TGA
  708.  
  709. SHORTCUT:
  710.      None.
  711.  
  712. SEE ALSO:
  713.      None.
  714.  
  715. ;------------------------------------------------------------------------------
  716.  
  717. :FILTERFILE
  718.  
  719. PURPOSE:
  720.      Sets the filename used for the convolution filters.
  721.  
  722. SYNTAX:
  723.      FILTERFILE [filename]
  724.  
  725. DESCRIPTION:
  726.      FILTERFILE sets the filename that  is used by the  CONV
  727.      and LC  commands  for  locating  and  performing  user-
  728.      defined convolution filters.  See the CONV command  for
  729.      more information on performing convolution filters.
  730.  
  731.      The default name  is FILTERS.FLT, and  must be  located
  732.      in, first, the current directory.   If the filter  file
  733.      is not found  there, then  CImage will  search for  the
  734.      file in the directory from which it was originally run.
  735.  
  736. NOTES:
  737.      If [filename] is  not given, then  the FILTERFILE  will
  738.      display the current filename.
  739.  
  740. SHORTCUT:
  741.      FFILE
  742.  
  743. SEE ALSO:
  744.      CONV LC
  745.  
  746. ;------------------------------------------------------------------------------
  747.  
  748. :FLIP
  749.  
  750. PURPOSE:
  751.      Flip an image buffer top to bottom or left to right.
  752.  
  753. SYNTAX:
  754.      FLIP <dir> <inbuf> [outbuf]
  755.  
  756. DESCRIPTION:
  757.      FLIP will  flip the  buffer  <inbuf> in  the  direction
  758.      specified by <dir> and place the result into [outbuf].
  759.  
  760.      Valid values for  <dir> are U,  D, L, R  for Up,  Down,
  761.      Left, Right, respectively.
  762.  
  763. NOTES:
  764.      If [outbuf] is  not given,  then the  result is  placed
  765.      into <inbuf>.
  766.  
  767.      There is no difference between Up  and Down.  There  is
  768.      also no difference between Left and Right.
  769.  
  770. SHORTCUT:
  771.      None.
  772.  
  773. SEE ALSO:
  774.      None.
  775.  
  776. ;------------------------------------------------------------------------------
  777.  
  778. :FREE
  779.  
  780. PURPOSE:
  781.      Release a buffer, freeing up the memory that it uses.
  782.  
  783. SYNTAX:
  784.      FREE <buf>
  785.    -or-
  786.      FREE ALL
  787.  
  788. DESCRIPTION:
  789.      FREE will free the memory used  by <buf>.  If <buf>  is
  790.      "ALL", then all buffers will be freed.
  791.  
  792. NOTES:
  793.      FREE will not ask to verify, even if you use "FREE ALL"
  794.  
  795. SHORTCUT:
  796.      None.
  797.  
  798. SEE ALSO:
  799.      None.
  800.  
  801. ;------------------------------------------------------------------------------
  802.  
  803. :GAMMA
  804.  
  805. PURPOSE:
  806.      Perform gamma correction.
  807.  
  808. SYNTAX:
  809.      GAMMA <inbuf> [outbuf]
  810.  
  811. DESCRIPTION:
  812.      GAMMA will correct the gamma  of <inbuf> and place  the
  813.      result into [outbuf].
  814.  
  815.      It is usually safe to assume that black is 0 and  white
  816.      is 255.  How ever, it is not necessarily  true that 128
  817.      appears exactly as a medium grey (which would mean that
  818.      color intensity output is linear).  On most  computers,
  819.      color intensity  output  is  not linear,  and  must  be
  820.      adjusted accordingly.  The  GAMMA command will  correct
  821.      this on images  and make it  appear that  the image  is
  822.      being displayed with linear color intensity output.
  823.  
  824.      The GAMMA  function  uses the  value  set by  the  GAMV
  825.      command to set the amount of gamma correction.
  826.  
  827. NOTES:
  828.      If [outbuf] is  not given,  then the  result is  placed
  829.      into <inbuf>
  830.  
  831. SHORTCUT:
  832.      GAMM
  833.  
  834. SEE ALSO:
  835.      GAMV
  836.  
  837. ;------------------------------------------------------------------------------
  838.  
  839. :GAMV
  840.  
  841. PURPOSE:
  842.      Set the gamma correction level.
  843.  
  844. SYNTAX:
  845.      GAMV [value]
  846.  
  847. DESCRIPTION:
  848.      GAMV will set the gamma correction level for the  GAMMA
  849.      command.   See  the  GAMMA command  for  more  detailed
  850.      information on gamma correction.
  851.  
  852. NOTES:
  853.      If [value] is not given, then the current value will be
  854.      displayed.
  855.  
  856.      The default value for GAMV is 0.6.
  857.  
  858. SHORTCUT:
  859.      None.
  860.  
  861. SEE ALSO:
  862.      GAMMA
  863.  
  864. ;------------------------------------------------------------------------------
  865.  
  866. :GOTO
  867.  
  868. PURPOSE:
  869.      Alter the program flow within an CImage batch file.
  870.  
  871. SYNTAX:
  872.      GOTO <label>
  873.  
  874. DESCRIPTION:
  875.      The GOTO  command will  cause the  batch file  to  stop
  876.      processing, locate <label> within  the batch file,  and
  877.      continue processing there.  Labels are designated by  a
  878.      ':'.   See the  ':' for  more detailed  information  on
  879.      labels.
  880.  
  881. NOTES:
  882.      The GOTO command is meant to be used within batch files
  883.      only.
  884.  
  885. SHORTCUT:
  886.      None.
  887.  
  888. SEE ALSO:
  889.      ASK IF : REM PAUSE ECHO
  890.  
  891. ;------------------------------------------------------------------------------
  892.  
  893. :GREYSCALE
  894.  
  895. PURPOSE:
  896.      Convert the current image into a greyscale image.
  897.  
  898. SYNTAX:
  899.      GREYSCALE <inbuf> [outbuf]
  900.  
  901. DESCRIPTION:
  902.      GREYSCALE will convert <inbuf>  to greyscale and  place
  903.      the results into [outbuf].
  904.  
  905.      Converting an image to grayscale is very simple.   Each
  906.      pixel's red,  green and  blue components  are  compared
  907.      against each  other  to find  the  largest  (brightest)
  908.      value, then all three components are set to this value.
  909.  
  910. NOTES:
  911.      If [outbuf] is  not given,  then the  result is  placed
  912.      into <inbuf>
  913.  
  914.      There is no command to convert from greyscale to color,
  915.      since  a  greyscale  image  does  not  contain  enough
  916.      information to perform such a task.
  917.  
  918. SHORTCUT:
  919.      GREY
  920.  
  921. SEE ALSO:
  922.      None.
  923.  
  924. ;------------------------------------------------------------------------------
  925.  
  926. :IF
  927.  
  928. PURPOSE:
  929.      The IF and IFNOT  commands allow conditional  execution
  930.      of  commands  based  on   the  results  of  a   logical
  931.      condition.   When the  condition is  true, then  CImage
  932.      executes the <command>;  otherwise, CImage will  ignore
  933.      the command.
  934.  
  935. SYNTAX:
  936.      IF ERRORLEVEL <number> <command>
  937.    -or-
  938.      IFNOT ERRORLEVEL <number> <command>
  939.    -or-
  940.      IF <string1> == <string2> <command>
  941.    -or-
  942.      IFNOT <string1> == <string2> <command>
  943.    -or-
  944.      IF EXIST <filename> <command>
  945.    -or-
  946.      IFNOT EXIST <filename> <command>
  947.  
  948. DESCRIPTION:
  949.      The conditions are described as follows:
  950.      ERRORLEVEL      True if,  and  only  if,  the  previous
  951.                      command executed had an exit code equal
  952.                      to <number>.
  953.      <string1> == <string2>  True if, and only if, <string1>
  954.                      is equal  to  <string2>.   The  strings
  955.                      must not contain spaces.
  956.      EXIST           True if,  and only  if, the  <filename>
  957.                      exists in the current directory.
  958.  
  959. NOTES:
  960.      Currently, the only CImage command that returns an exit
  961.      code is the ASK  command.  DOS  command exit codes  are
  962.      currently not supported.
  963.  
  964. SHORTCUT:
  965.      None.
  966.  
  967. SEE ALSO:
  968.      ASK GOTO : REM PAUSE ECHO
  969.  
  970. ;------------------------------------------------------------------------------
  971.  
  972. :LB
  973.  
  974. PURPOSE:
  975.      List the currently allocated image buffers.
  976.  
  977. SYNTAX:
  978.      LB
  979.  
  980. DESCRIPTION:
  981.      LB  will  list  the   current  information  about   all
  982.      currently allocated buffers:
  983.         Buffer number
  984.         Loaded file name
  985.         Loaded file type
  986.         Last saved name
  987.         Last saved file type
  988.         Resolution
  989.  
  990. NOTES:
  991.      None.
  992.  
  993. SHORTCUT:
  994.      None.
  995.  
  996. SEE ALSO:
  997.      LOAD SAVE MERGE
  998.  
  999. ;------------------------------------------------------------------------------
  1000.  
  1001. :LC
  1002.  
  1003. PURPOSE:
  1004.      List all convolution  filters contained  in the  filter
  1005.      file  (defined  by  the  FILTERFILE  command;   default
  1006.      filename is FILTERS.FLT).
  1007.  
  1008. SYNTAX:
  1009.      LC
  1010.  
  1011. DESCRIPTION:
  1012.      LC Will list all the convolution filters in the  filter
  1013.      file sorted by grid size (3, 5 or 7).
  1014.  
  1015. NOTES:
  1016.      CImage will search for the filter file in the following
  1017.      order:
  1018.       1.  The current directory
  1019.       2.  The default CImage directory (where CIMAGE.EXE is
  1020.           stored)
  1021.  
  1022. SHORTCUT:
  1023.      None.
  1024.  
  1025. SEE ALSO:
  1026.      CONV FILTERFILE
  1027.  
  1028. ;------------------------------------------------------------------------------
  1029.  
  1030. :LOAD
  1031.  
  1032. PURPOSE:
  1033.      LOAD will load images into memory.
  1034.  
  1035. SYNTAX:
  1036.      LOAD <filename> [buffer]
  1037.  
  1038. DESCRIPTION:
  1039.      LOAD will load <filename> into [buffer].
  1040.  
  1041. NOTES:
  1042.      If [buffer] is  not given,  then LOAD  will create  the
  1043.      first available buffer.
  1044.  
  1045.      Currently, LOAD does not interrogate the file  contents
  1046.      to decide what type of image file to load.  The  file's
  1047.      extension is used to decide the file's type.  Once  the
  1048.      file type  is obtained  from the  extension, LOAD  will
  1049.      verify the file is indeed the proper file type.
  1050.  
  1051.      Current supported file types are:
  1052.         IMG - VIVID/BOB format
  1053.         GIF - GIF87a (and GIF89a files that are compatible)
  1054.         TGA - Only type 2, uncompressed
  1055.         BMP - All versions (Windows, and OS/2)
  1056.         IPI - CImage's internal format
  1057.  
  1058. SHORTCUT:
  1059.      None.
  1060.  
  1061. SEE ALSO:
  1062.      SAVE MERGE LB
  1063.  
  1064. ;------------------------------------------------------------------------------
  1065.  
  1066. :MACRO
  1067.  
  1068. PURPOSE:
  1069.      Creates a macro.
  1070.  
  1071. SYNTAX:
  1072.      MACRO [macro] [cmd-line]
  1073.  
  1074. DESCRIPTION:
  1075.      MACRO will define [macro] to be [command-line]
  1076.      Macros are  shortcuts.    You  can  define  almost  any
  1077.      command-line to a macro.
  1078.  
  1079.      Say you define "P" to be  "PLASMA 640 480 3.3".   Then,
  1080.      every time you type a "P" (followed by [RETURN]) on the
  1081.      command line, CImage will interpret it as: "PLASMA  640
  1082.      480 3.3" (which will create a plasma image the size  of
  1083.      640x480 with the grain factor of 3.3, and place it into
  1084.      the first available buffer).
  1085.  
  1086.      Macros can also be inserted  into a command-line.   For
  1087.      example, you could use "plasma 640 480 PVAL" where PVAL
  1088.      has been defined as "3.3".   Macros may also  reference
  1089.      themselves.   "P" may  be defined  as "PLASMA  640  480
  1090.      PVAL" and if PVAL has been defined as "3.3", then  that
  1091.      line is interpreted as "PLASMA 640 480 3.3".
  1092.  
  1093. NOTES:
  1094.      Macros  may   reference  environment   variables,   but
  1095.      environment variables may not reference macros.
  1096.      If [cmd-line] is  not given, then  the [macro] will  be
  1097.      removed from the macro list.
  1098.  
  1099.      If [macro]  and [cmd-line]  are not  given, then  MACRO
  1100.      will list all currently defined macros.
  1101.  
  1102.      [cmd-line] may contain spaces.
  1103.  
  1104.      Since a semicolon on the CImage command line is used to
  1105.      separate multiple commands, you need to use the  carrot
  1106.      (^) character where semicolons are to be placed.  These
  1107.      semicolons will not,  however, become separate  command
  1108.      lines within a single  macro, they will be  interpreted
  1109.      as one command line.
  1110.  
  1111.      Macros must  be  separated  from  other  words  on  the
  1112.      command line they are to be used in by a space.
  1113.  
  1114. SHORTCUT:
  1115.      None.
  1116.  
  1117. SEE ALSO:
  1118.      SET
  1119.  
  1120. ;------------------------------------------------------------------------------
  1121.  
  1122. :MEM
  1123.  
  1124. PURPOSE:
  1125.      Display the current status of memory.
  1126.  
  1127. SYNTAX:
  1128.      MEM
  1129.  
  1130. DESCRIPTION:
  1131.      MEM will display the following information:
  1132.         1. Largest available block of memory
  1133.         2. Size of paging/file partition
  1134.  
  1135.      The "Largest available block of memory" is quite  self-
  1136.      explanatory. This  includes all  virtual memory.    The
  1137.      "Size of  paging/file partition"  is  the size  of  the
  1138.      virtual memory portion of available memory.
  1139.  
  1140. NOTES:
  1141.      None.
  1142.  
  1143. SHORTCUT:
  1144.      None.
  1145.  
  1146. SEE ALSO:
  1147.      None.
  1148.  
  1149. ;------------------------------------------------------------------------------
  1150.  
  1151. :MERGE
  1152.  
  1153. PURPOSE:
  1154.      Merges three color separated images into one full color
  1155.      image.
  1156.  
  1157. SYNTAX:
  1158.      MERGE <redfile> <bluefile> <greenfile> [outbuf]
  1159.  
  1160. DESCRIPTION:
  1161.      MERGE performs three  LOADs; one LOAD  for each of  the
  1162.      different   files   in   <redfile>,   <bluefile>    and
  1163.      <greenfile> with the exception that MERGE gets the  red
  1164.      element of the image  from <redfile>, the blue  element
  1165.      from <bluefile> and the green element from <greenfile>.
  1166.      These are then  merged into a  single image and  placed
  1167.      into [outbuf].
  1168.  
  1169.      This is  useful for  people  who have  monochrome  hand
  1170.      scanners.  It is possible to actually digitize a  color
  1171.      image with a  monochrome hand scanner.   Scan an  image
  1172.      three times using a red filter the first time, a  green
  1173.      filter the  second time,  and a  blue filter  the  last
  1174.      time.  Use  your hand scanner's  software to align  the
  1175.      three images,  and import  them into  CImage using  the
  1176.      MERGE command.  What you will get is a full-color image
  1177.      in [outbuf].
  1178.  
  1179. NOTES:
  1180.      If [outbuf] is  not given, then  MERGE will create  the
  1181.      first available buffer.
  1182.  
  1183.      The three files in MERGE  may be different file  types,
  1184.      however, they must all have the same resolution.
  1185.  
  1186. SHORTCUT:
  1187.      None.
  1188.  
  1189. SEE ALSO:
  1190.      LOAD SAVE LB OVERLAY
  1191.  
  1192. ;------------------------------------------------------------------------------
  1193.  
  1194. :MULTIPLY
  1195.  
  1196. PURPOSE:
  1197.      Multiply the contents of two image buffers.
  1198.  
  1199. SYNTAX:
  1200.      MULTIPLY <buf1> <buf2> [outbuf]
  1201.  
  1202. DESCRIPTION:
  1203.      MULTIPLY will multiply, pixel by pixel each of the red,
  1204.      blue and  green components  of  <buf1> and  <buf2>  and
  1205.      place the result into [outbuf].
  1206.  
  1207. NOTES:
  1208.      If [outbuf]  is not  given,  then <buf1>  contains  the
  1209.      result.
  1210.  
  1211.      Upon multiplying the components, if the two  components
  1212.      multiplied are  greater than  255, then  the  component
  1213.      value is clipped to 255.
  1214.  
  1215. SHORTCUT:
  1216.      MULT
  1217.  
  1218. SEE ALSO:
  1219.      ADD SUBTRACT DIVIDE
  1220.  
  1221. ;------------------------------------------------------------------------------
  1222.  
  1223. :NEGATE
  1224.  
  1225. PURPOSE:
  1226.      Create a photo negative of an image.
  1227.  
  1228. SYNTAX:
  1229.      NEGATE <inbuf> [outbuf]
  1230.  
  1231. DESCRIPTION:
  1232.      Negate reads the value of  each color element for  each
  1233.      pixel,  and  subtracts  it  from  255.    Placing   the
  1234.      resulting image into [outbuf].
  1235.  
  1236.      The  effect  is  an   intensity  reversal  (or   "photo
  1237.      negative"), in  which black  becomes white,  and  white
  1238.      becomes black.
  1239.  
  1240. NOTES:
  1241.      If [outbuf]  is not  given, then  <inbuf> contains  the
  1242.      result.
  1243.  
  1244. SHORTCUT:
  1245.      NEG
  1246.  
  1247. SEE ALSO:
  1248.      None.
  1249.  
  1250. ;------------------------------------------------------------------------------
  1251.  
  1252. :NOISE
  1253.  
  1254. PURPOSE:
  1255.      Add random noise to an image.
  1256.  
  1257. SYNTAX:
  1258.      NOISE <amount> <inbuf> [outbuf]
  1259.  
  1260. DESCRIPTION:
  1261.      Computer generated images often  look to "perfect"  and
  1262.      therefore, unrealistic.  NOISE can be used to help this
  1263.      matter.
  1264.  
  1265.      NOISE will randomly add  n <amount> to each  individual
  1266.      pixel in <inbuf>, and place the result into [outbuf].
  1267.  
  1268.      A useful value for <amount> would be 5-15.
  1269.  
  1270. NOTES:
  1271.      Valid range for <amount> is 1-255.
  1272.  
  1273.      If [outbuf]  is not  given, then  <inbuf> contains  the
  1274.      result.
  1275.  
  1276.      If the addition  or subtraction of  <amount> takes  the
  1277.      result above 255 or below 0, then the value is  clipped
  1278.      to 0 or 255, respectively.
  1279.  
  1280. SHORTCUT:
  1281.      NOIS
  1282.  
  1283. SEE ALSO:
  1284.      None.
  1285.  
  1286. ;------------------------------------------------------------------------------
  1287.  
  1288. :NORMALIZE
  1289.  
  1290. PURPOSE:
  1291.      Perform a histogram normalization on an image.
  1292.  
  1293. SYNTAX:
  1294.      NORMALIZE <inbuf> [outbuf]
  1295.  
  1296. DESCRIPTION:
  1297.      NORMALIZE  performs  a   histogram  normalization   (or
  1298.      contrast enhancement) on <inbuf>.
  1299.  
  1300.      A histogram normalization  is quite a  simple task.   A
  1301.      normalization finds the darkest  color, and maps it  to
  1302.      zero, then it finds the brightest color and maps it  to
  1303.      white.  This is useful  for adding contrast to  images,
  1304.      like very hazy images.  Normalization can actually turn
  1305.      a "foggy" picture into a "sunny day" picture.
  1306.  
  1307. NOTES:
  1308.      If [outbuf]  is not  given, then  <inbuf> contains  the
  1309.      result.
  1310.  
  1311. SHORTCUT:
  1312.      NORM
  1313.  
  1314. SEE ALSO:
  1315.      None.
  1316.  
  1317. ;------------------------------------------------------------------------------
  1318.  
  1319. :OVERLAY
  1320.  
  1321. PURPOSE:
  1322.      Performs a color selectable  overlay of one image  onto
  1323.      another image.
  1324.  
  1325. SYNTAX:
  1326.      OVERLAY <buf1> <buf2> <low> <high> [outbuf]
  1327.  
  1328. DESCRIPTION:
  1329.      OVERLAY will  overlay each  pixel from  <buf1> that  is
  1330.      greater than or equal to <low>  and less than or  equal
  1331.      to <high> onto it's corresponding pixel in <buf2>.  The
  1332.      resulting image is then placed into [outbuf].
  1333.  
  1334.      The comparison of  <low> and <high>  against pixels  in
  1335.      <buf1> are done on after monochrome conversion.  CImage
  1336.      first converts <buf1> to mono to compare against  <low>
  1337.      and <high> and  if the monochrome  value is inside  the
  1338.      range, then the COLOR value is placed into [outbuf].
  1339.  
  1340.      OVERLAY  is  useful  for  overlaying  an  image  of  an
  1341.      airplane (with  a  black background)  onto  a  mountain
  1342.      scene.
  1343.  
  1344. NOTES:
  1345.      The valid range for <low> and <high> is 0-255.
  1346.  
  1347.      If [outbuf] is not given, then OVERLAY will create  the
  1348.      first available buffer.
  1349.  
  1350.      The "Loaded as file name" is set to OVERLAY.TGA
  1351.  
  1352. SHORTCUT:
  1353.      OVER
  1354.  
  1355. SEE ALSO:
  1356.      MERGE
  1357.  
  1358. ;------------------------------------------------------------------------------
  1359.  
  1360. :PAUSE
  1361.  
  1362. PURPOSE:
  1363.      PAUSE suspends the operation of a CImage Batch file.
  1364.  
  1365. SYNTAX:
  1366.      PAUSE <string>
  1367.    -or-
  1368.      PAUSE
  1369.  
  1370. DESCRIPTION:
  1371.      If  <string>   exists,   then  <string>   is   printed,
  1372.      otherwise,  PAUSE  will  display  "Press  any  key   to
  1373.      continue...".  PAUSE will then wait for a key-press  to
  1374.      continue.
  1375.  
  1376. NOTES:
  1377.      PAUSE is  often used  to break  out of  batch files  by
  1378.      allowing the user  to press the  break key [CTRL-C]  or
  1379.      [CTRL-BREAK].   If the  break key  sequence is  pressed
  1380.      during a PAUSE  command, CImage will  not ask to  break
  1381.      out of the batch file until  a key is pressed. This  is
  1382.      the only  point in  batch file  processing when  CImage
  1383.      will wait for a key to ask to stop processing the batch
  1384.      file.
  1385.  
  1386.      Currently, PAUSE echoes all text as upper-case only.
  1387.  
  1388. SHORTCUT:
  1389.      None.
  1390.  
  1391. SEE ALSO:
  1392.      ASK IF GOTO : REM PAUSE ECHO
  1393.  
  1394. ;------------------------------------------------------------------------------
  1395.  
  1396. :PERCENT
  1397.  
  1398. PURPOSE:
  1399.      PERCENT is used to enable/disable the percentages  that
  1400.      are printed as CImage processes different commands that
  1401.      may take some time.
  1402.  
  1403. SYNTAX:
  1404.      PERCENT ON
  1405.    -or-
  1406.      PERCENT OFF
  1407.  
  1408. DESCRIPTION:
  1409.      PERCENT ON will enable the percentages, and PERCENT OFF
  1410.      will turn them off.  The default is ON.
  1411.  
  1412.      Turning the  percents off  will speed  up the  time  it
  1413.      takes to  execute commands.    This is  because  screen
  1414.      displays are rather slow.
  1415.  
  1416. NOTES:
  1417.      The ONLY command that takes  some time to process  that
  1418.      does not display percents is the PLASMA command.
  1419.  
  1420. SHORTCUT:
  1421.      None.
  1422.  
  1423. SEE ALSO:
  1424.      None.
  1425.  
  1426. ;------------------------------------------------------------------------------
  1427.  
  1428. :PIX
  1429.  
  1430. PURPOSE:
  1431.      Pixellize an image.
  1432.  
  1433. SYNTAX:
  1434.      PIX <xres> <yres> <inbuf> [outbuf]
  1435.  
  1436. DESCRIPTION:
  1437.      PIX will group pixels of <xres> by <yres>, average  all
  1438.      the pixel values in the group, and replace those pixels
  1439.      with the averaged  color.  The  result of  which is  an
  1440.      image that appears  as though the  resolution has  been
  1441.      lowered and the pixels stretched to keep the same image
  1442.      size.
  1443.  
  1444.      PIX does NOT alter the image  resolution.  An image  of
  1445.      100x100 being  pixelized  with  the values  of  5  (for
  1446.      <xres>) and 5 (for <yres>) will generate an image  that
  1447.      appears to  have a  resolution of  20x20, however,  the
  1448.      resolution is actually 100x100.
  1449.  
  1450. NOTES:
  1451.      If [outbuf]  is not  given, then  <inbuf> contains  the
  1452.      result.
  1453.  
  1454. SHORTCUT:
  1455.      None.
  1456.  
  1457. SEE ALSO:
  1458.      None.
  1459.  
  1460. ;------------------------------------------------------------------------------
  1461.  
  1462. :PLASMA
  1463.  
  1464. PURPOSE:
  1465.      Creates a "plasma" type fractal image.
  1466.  
  1467. SYNTAX:
  1468.      PLASMA <xres> <yres> <grain> [outbuf]
  1469.  
  1470. DESCRIPTION:
  1471.      PLASMA will create a  "plasma" fractal image of  <xres>
  1472.      by <yres>  using  <grain>  and place  the  result  into
  1473.      [outbuf].
  1474.  
  1475.      Plasma fractals look like  clouds.  The larger  <grain>
  1476.      is, the denser the clouds.  A typical value for  plasma
  1477.      is 3.
  1478.  
  1479. NOTES:
  1480.      Valid range for <grain> is 0.001 - 100.0.
  1481.  
  1482.      If [outbuf] is not given,  then PLASMA will create  the
  1483.      first available buffer.
  1484.  
  1485.      PLASMA is  the  only  command  that  does  not  display
  1486.      percentages as it executes.
  1487.  
  1488.      The "Loaded as file name" is set to PLASMA.TGA
  1489.  
  1490. SHORTCUT:
  1491.      None.
  1492.  
  1493. SEE ALSO:
  1494.      None.
  1495.  
  1496. ;------------------------------------------------------------------------------
  1497.  
  1498. :PMOD
  1499.  
  1500. PURPOSE:
  1501.      Sets the prompt modifier.
  1502.  
  1503. SYNTAX:
  1504.      PMOD [modifier]
  1505.  
  1506. DESCRIPTION:
  1507.      The prompt modifier  is displayed  to the  left of  the
  1508.      prompt so  that  the  user  can  tell  when  CImage  is
  1509.      running.  PMOD will allow the user to change the prompt
  1510.      modifier.
  1511.  
  1512. NOTES:
  1513.      If [modifier] is not given, then PMOD will display  the
  1514.      current prompt modifier.
  1515.  
  1516. SHORTCUT:
  1517.      None.
  1518.  
  1519. SEE ALSO:
  1520.      None.
  1521.  
  1522. ;------------------------------------------------------------------------------
  1523.  
  1524. :REM
  1525.  
  1526. PURPOSE:
  1527.      During the  execution  of  an CImage  batch  file,  REM
  1528.      displays the remarks that are on  the same line as  the
  1529.      REM command in that batch file.
  1530.  
  1531. SYNTAX:
  1532.      REM [comment]
  1533.  
  1534. DESCRIPTION:
  1535.      The [comment] is  not executed, rather  it is used  for
  1536.      making notes inside batch files to it readers from it's
  1537.      author.  It can also be used to display information  to
  1538.      the screen as a batch file executes.
  1539.  
  1540. NOTES:
  1541.      If the ECHO is  off, then the REM  command line is  not
  1542.      displayed.
  1543.  
  1544. SHORTCUT:
  1545.      None.
  1546.  
  1547. SEE ALSO:
  1548.      ASK IF GOTO : PAUSE ECHO
  1549.  
  1550. ;------------------------------------------------------------------------------
  1551.  
  1552. :SAVE
  1553.  
  1554. PURPOSE:
  1555.      Save an image buffer.
  1556.  
  1557. SYNTAX:
  1558.      SAVE <buff> [filename]
  1559.  
  1560. DESCRIPTION:
  1561.      SAVE will save <buff> to [filename].
  1562.  
  1563. NOTES:
  1564.      If [filename] is not given, then SAVE will get the name
  1565.      from the last saved  name for that  buffer (see the  LC
  1566.      command for more  information on looking  for the  last
  1567.      saved name).  If there is no last saved name, then SAVE
  1568.      will save  the  buffer  under  the  name  that  it  was
  1569.      originally loaded (or created).
  1570.  
  1571.      Files are overwritten without verification.
  1572.  
  1573.      The file's extension is used to decide the file's type.
  1574.      Once the file type is obtained from the extension, SAVE
  1575.      will create the file, and save it accordingly.
  1576.  
  1577.      Current supported file types are:
  1578.        IMG - VIVID/BOB format
  1579.        GIF - GIF87a
  1580.        TGA - Only type 2, uncompressed
  1581.        BMP - All versions (Windows)
  1582.        IPI - CImage's internal format
  1583.  
  1584.      Also note that all files written out by CImage are  24-
  1585.      bit, non-compressed  images (except  .GIF files,  which
  1586.      are 8-bit compressed  images), and  Targa files  (.TGA)
  1587.      are written in Top-down format only.
  1588.  
  1589. SHORTCUT:
  1590.      None.
  1591.  
  1592. SEE ALSO:
  1593.      LOAD MERGE LB
  1594.  
  1595. ;------------------------------------------------------------------------------
  1596.  
  1597. :SET
  1598.  
  1599. PURPOSE:
  1600.      Set an CImage internal environment variable.
  1601.  
  1602. SYNTAX:
  1603.      SET [var] [value]
  1604.  
  1605. DESCRIPTION:
  1606.      SET  will  define   the  CImage  internal   environment
  1607.      variable [var] to  be [value].   Environment  variables
  1608.      are similar  to  macros  except  that  macros  must  be
  1609.      separated from other  words on  the command  line by  a
  1610.      space,  and  environment   variables  don't,   however,
  1611.      environment variables require a '%' sign on either side
  1612.      of them for them to be resolved properly.
  1613.  
  1614.      Environment variables  are  usually  used  as  settings
  1615.      (like the  path to  your images)  to be  inserted  into
  1616.      command line.  You  can define almost  any string to  a
  1617.      variable.  These environment  variable are accessed  as
  1618.      %<var>%.
  1619.  
  1620.      If you define  "PTH" to be  "C:\IMAGES\".  Then,  every
  1621.      time you type "%PTH%" on the command line, CImage  will
  1622.      interpret it as: "C:\IMAGES\"
  1623.  
  1624.      Say you type the line:  "LOAD %PTH%PICTURE.GIF".   This
  1625.      line     will     get     interpreted     as      "LOAD
  1626.      C:\IMAGES\PICTURE.GIF".
  1627.  
  1628.      Like macros, environment  variables may also  reference
  1629.      each other.
  1630.  
  1631. NOTES:
  1632.      Macros  may   reference  environment   variables,   but
  1633.      environment variables may not reference macros.
  1634.  
  1635.      If [value] is not given, then the [var] will be removed
  1636.      from the environment variable table.
  1637.  
  1638.      If [var] and [value] are not given, then SET will  list
  1639.      all currently defined environment variables.
  1640.  
  1641. SHORTCUT:
  1642.      None.
  1643.  
  1644. SEE ALSO:
  1645.      MACRO
  1646.  
  1647. ;------------------------------------------------------------------------------
  1648.  
  1649. :SHOW
  1650.  
  1651. PURPOSE:
  1652.      Display an image buffer.
  1653.  
  1654. SYNTAX:
  1655.      SHOW [buf]
  1656.  
  1657. DESCRIPTION:
  1658.      SHOW will  display,  in  graphics mode,  the  image  in
  1659.      [buf].
  1660.  
  1661.      If color reduction  is needed, then  SHOW will  perform
  1662.      the color reduction before displaying the image.
  1663.  
  1664.      SHOW will use  the information  in VMODE  to pick  what
  1665.      type of display mode to enter  to show [buf].  See  the
  1666.      VMODE command  for more  information on  the different
  1667.      graphics configurations available from CImage.
  1668.  
  1669.      Once the image  is displayed, SHOW  will beep, and  any
  1670.      key will  return  the user  to  the text  mode  command
  1671.      prompt.
  1672.  
  1673. NOTES:
  1674.      If [buf] is not  given, then SHOW  will show the  first
  1675.      available buffer (if one exists).
  1676.  
  1677.      The modes 11-13, 15 and 17 may take a few seconds  once
  1678.      they enter graphics mode to begin displaying the  image
  1679.      to finalize color co ordination.  This is  not true for
  1680.      modes with 32K colors or more.
  1681.  
  1682.      VESA is the preferred graphics configuration to run.
  1683.  
  1684.      CImage does  not  support  modes  with  less  than  256
  1685.      colors.
  1686.  
  1687. SHORTCUT:
  1688.      None.
  1689.  
  1690. SEE ALSO:
  1691.      VESAINFO BIOSINFO VMODE VCOLORS CRES
  1692.  
  1693. ;------------------------------------------------------------------------------
  1694.  
  1695. :SUBTRACT
  1696.  
  1697. PURPOSE:
  1698.      Subtract the contents of two image buffers.
  1699.  
  1700. SYNTAX:
  1701.      SUBTRACT <buf1> <buf2> [outbuf]
  1702.  
  1703. DESCRIPTION:
  1704.      SUBTRACT will  subtract, pixel  by pixel,  each of  the
  1705.      red, blue and green components of <buf1> and <buf2> and
  1706.      place the result into [outbuf].
  1707.  
  1708. NOTES:
  1709.      If [outbuf]  is not  given,  then <buf1>  contains  the
  1710.      result.
  1711.  
  1712.      Upon subtracting the components, if the two  components
  1713.      subtracted are less than 0, then the component value is
  1714.      clipped to 0.
  1715.  
  1716. SHORTCUT:
  1717.      SUB
  1718.  
  1719. SEE ALSO:
  1720.      ADD MULTIPLY DIVIDE
  1721.  
  1722. ;------------------------------------------------------------------------------
  1723.  
  1724. :TERRAIN
  1725.  
  1726. PURPOSE:
  1727.      Generate a BOB (ray tracer) compatible terrain map.
  1728.  
  1729. SYNTAX:
  1730.      TERRAIN <buff> <range> <filename> <low> [color]
  1731.  
  1732. DESCRIPTION:
  1733.      TERRAIN will generate a .B file for the ray tracer  BOB
  1734.      that contains  a  terrain  map  of  triangles  for  the
  1735.      current image using the intensity of each pixel for the
  1736.      height of the triangle points.
  1737.  
  1738.      TERRAIN scans  <buff>,  and  at each  pixel  it  scales
  1739.      [color] to <range>, then  compares the value to  <low>,
  1740.      which is the "water  level", and if  the value is  less
  1741.      than <low>,  the  value gets  clipped  to <low>.    The
  1742.      triangle is then written to <filename>.
  1743.  
  1744.      This command  was  meant  to work  primarily  with  the
  1745.      PLASMA images for terrain  generation, however, it  can
  1746.      be used with any image.
  1747.  
  1748. NOTES:
  1749.      <range> must be greater than 0.  Valid range for  <low>
  1750.      is 0 (flat)  to 255 (full  height).   Valid values  for
  1751.      [color] are R, G, B or M. These specify to use the  Red
  1752.      element, Blue  element,  Green  element  or  the  pixel
  1753.      converted to Monochrome for  the pixel value  (triangle
  1754.      height).
  1755.  
  1756.      If  [color]  is  not  given,  then  TERRAIN  will   use
  1757.      Monochrome conversion.
  1758.  
  1759.      Images of 640x480 can create VERY LARGE output files.
  1760.  
  1761. SHORTCUT:
  1762.      TERR
  1763.  
  1764. SEE ALSO:
  1765.      None.
  1766. ;------------------------------------------------------------------------------
  1767.  
  1768. :VCOLORS
  1769.  
  1770. PURPOSE:
  1771.      Set the  number  of  colors that  the  video  card  can
  1772.      display.
  1773.  
  1774. SYNTAX:
  1775.      VCOLORS [val]
  1776.  
  1777. DESCRIPTION:
  1778.      VCOLORS tells CImage how many colors the video card can
  1779.      display simultaneously.  CImage needs to know how many
  1780.      colors the  video  card  can display  so  that  it  may
  1781.      properly reduce  the internal  24-bit images  to  [val]
  1782.      colors for displaying.
  1783.  
  1784.      This value is set by the VESAINFO, VMODE, and  BIOSINFO
  1785.      functions.
  1786.  
  1787. NOTES:
  1788.      If [val] is  not given, then  VCOLORS will display  the
  1789.      current setting.
  1790.  
  1791.      CImage does  not  support  modes  with  less  than  256
  1792.      colors.
  1793.  
  1794. SHORTCUT:
  1795.      None.
  1796.  
  1797. SEE ALSO:
  1798.      VESAINFO BIOSINFO VMODE CRES SHOW
  1799.  
  1800. ;------------------------------------------------------------------------------
  1801.  
  1802. :VESAINFO
  1803.  
  1804. PURPOSE:
  1805.      Set or display the VESA graphics configuration.
  1806.  
  1807. SYNTAX:
  1808.      VESAINFO [mode]
  1809.  
  1810. DESCRIPTION:
  1811.      VESAINFO will set the current VESA configuration to  be
  1812.      used  for  displaying  image  buffers  using  the  SHOW
  1813.      command.
  1814.  
  1815.      Users must also  perform a "VMODE  VESA" to enable  the
  1816.      VESA mode for displaying image buffers.  See the  VMODE
  1817.      command for more information on setting the mode.
  1818.  
  1819.      VESA  is  a  great  standard  for  super-VGA  displays.
  1820.      CImage's developers  support VESA  and hopes  that  you
  1821.      will use this  configuration above BIOS  or any of  the
  1822.      built-in modes.
  1823.  
  1824. NOTES:
  1825.      The VESA drivers are not  included with CImage.   These
  1826.      drivers  can   be   obtained  from   you   video   card
  1827.      manufacturer if they were  not included with your  card
  1828.      upon purchase.
  1829.  
  1830.      If [mode] is not given, then VESAINFO will display  the
  1831.      following information  (this is  from my  system,  VESA
  1832.      version 1.2 running a Diamond Speed Star 24X):
  1833.  
  1834.           Available modes are marked with an asterisk (*):
  1835.                 6Ah -  800 x  600  16 colors
  1836.              * 100h -  640 x  400 256 colors
  1837.              * 101h -  640 x  480 256 colors
  1838.              * 102h -  800 x  600  16 colors
  1839.              * 103h -  800 x  600 256 colors
  1840.              * 104h - 1024 x  768  16 colors
  1841.              * 105h - 1024 x  768 256 colors
  1842.              * 106h - 1280 x 1024  16 colors
  1843.                107h - 1280 x 1024 256 colors
  1844.                108h - TEXT MODE...unusable
  1845.              * 109h - TEXT MODE...unusable
  1846.              * 10Ah - TEXT MODE...unusable
  1847.              * 10Bh - TEXT MODE...unusable
  1848.                10Ch - TEXT MODE...unusable
  1849.              * 10Dh -  320 x  200 32K colors
  1850.                10Eh -  320 x  200 64K colors
  1851.                10Fh -  320 x  200 16M colors
  1852.              * 110h -  640 x  480 32K colors
  1853.                111h -  640 x  480 64K colors
  1854.                112h -  640 x  480 16M colors
  1855.              * 113h -  800 x  600 32K colors
  1856.                114h -  800 x  600 64K colors
  1857.                115h -  800 x  600 16M colors
  1858.                116h - 1024 x  768 32K colors
  1859.                117h - 1024 x  768 64K colors
  1860.                118h - 1024 x  768 16M colors
  1861.                119h - 1280 x 1024 32K colors
  1862.                11Ah - 1280 x 1024 64K colors
  1863.                11Bh - 1280 x 1024 16M colors
  1864.  
  1865.           Current Settings:
  1866.  
  1867.                    VESA version:  1.2
  1868.                        OEM name:  Western Digital Inc V1.2
  1869.                 VESA video mode:  113h (275)
  1870.                      Resolution:  800x600
  1871.              Displayable colors:  32768 (15 Bits per pixel)
  1872.                 Mode attributes:  [Supported] [No BIOS
  1873.                                    Output] [Color]
  1874.                                    [Graphics]
  1875.             Window A attributes:  [Supported] [Readable]
  1876.                                    [Writable]
  1877.             Window B attributes:  [Not Supported]
  1878.            Granularity/Win size:  4K/64K
  1879.             Window segments A/B:  A000h/A800h
  1880.            Window pos. function:  0623:05EEh
  1881.              Bytes per scanline:  1600
  1882.                  Character size:  0x0
  1883.              # of memory planes:  1
  1884.                 Number of banks:  1
  1885.               Memory model type:  YUV
  1886.                       Bank size:  0K
  1887.                     Image pages:  1
  1888.              Red size/field pos:  5/10
  1889.            Green size/field pos:  5/5
  1890.             Blue size/field pos:  5/0
  1891.               Direct color mode:  [Color ramp fixed] [Bits
  1892.                                    are usable]
  1893.  
  1894.      VESA is the preferred graphics configuration to run.
  1895.  
  1896.      CImage does  not  support  modes  with  less  than  256
  1897.      colors.
  1898.  
  1899. SHORTCUT:
  1900.      VESA
  1901.  
  1902. SEE ALSO:
  1903.      BIOSINFO VMODE VCOLORS CRES SHOW
  1904.  
  1905. ;------------------------------------------------------------------------------
  1906.  
  1907. :VMODE
  1908.  
  1909. PURPOSE:
  1910.      Sets the video  mode to  be used  for displaying  image
  1911.      buffers.
  1912.  
  1913. SYNTAX:
  1914.      VMODE [mode]
  1915.  
  1916. DESCRIPTION:
  1917.      VMODE tells  CImage what  mode  to use  for  displaying
  1918.      image  buffers.  Currently,  the  following  modes  are
  1919.      supported:
  1920.          320 x 200, 256 color
  1921.          640 x 400, 256 color
  1922.          640 x 480, 256 color
  1923.          800 x 600, 256 color
  1924.         1024 x 768, 256 color
  1925.         BIOS mode
  1926.         VESA mode
  1927.  
  1928.      If BIOS is selected, then CImage uses the current  BIOS
  1929.      information for it's  display mode.   See the  BIOSINFO
  1930.      command  for   more   information  on   BIOS   graphics
  1931.      configuration.
  1932.  
  1933.      If VESA is selected, then CImage uses the current  VESA
  1934.      information for it's  display mode.   See the  VESAINFO
  1935.      command  for   more   information  on   VESA   graphics
  1936.      configuration.
  1937.  
  1938. NOTES:
  1939.      If [mode] is  not given,  then VMODE  will display  the
  1940.      current mode's information, and the available modes.
  1941.  
  1942.      Valid values for [val] are:
  1943.         11.......320 x 200, 256 color
  1944.         12.......640 x 400, 256 color
  1945.         13.......640 x 480, 256 color
  1946.         15.......800 x 600, 256 color
  1947.         17......1024 x 768, 256 color
  1948.         BIOS....BIOS mode
  1949.         VESA....VESA mode
  1950.  
  1951.      VESA is the preferred graphics configuration to run.
  1952.  
  1953.      CImage does  not  support  modes  with  less  than  256
  1954.      colors.
  1955.  
  1956. SHORTCUT:
  1957.      None.
  1958.